#include<iostream>
 
using namespace std;

//class test
//{
//	friend ostream& operator<<(ostream& d1, test d2);
//
//
//public:
//	test(int x)
//	{
//		_x = x;
//
//		//cout <<_x << endl;
//	}
//	//test(test& cut)
//	//{
//	//	_x = cut._x;
//	//}
//	bool operator==(test d2) const
//	{
//		return _x == d2._x;
//	}
//	test operator=(test d2)
//	{
//		_x = d2._x;
//		return *this;
//	}
//	test& operator++()
//	{
//		_x++;
//		return *this;
//	}
//	test& operator++(int)
//	{
//		test cut = *this;
//		_x++;e
//		return cut;
//	}
//	void print() const
//	{
//		cout << _x << endl;
//	}
//private:
//	int _x = 1;
//};
//
//ostream& operator<<(ostream& d1,test d2)
//{
//	cout << d2._x;
//	return d1;
//}
//int main()
//{
//	test d1(1);
//	test d2(1);
//	test d3(2);
//	d3++;
//	d1 = d2 = d3++;
//	/*d1.print();
//	d2.print();
//	d3.print();*/
//	cout << d1 << d2 << d3 << endl;
//	//cout << (d2 == d1) << endl;//  opreator==(d1,d2);
//	return 0;
//}

class test
{
public:
	/*explicit*/ test(int a, int b)
		:_a(a)
		, _b(b)
	{
	}
	void print()
	{
		cout << _a << _b << endl;
	}
	int num(int a)
	{
		return _b = a;
	}
private:
	const int _a;
	int _b;
	
};


int main()
{
	test d1(1,2);
	test();
	//int ret = d1.getnum();
	cout << test.num(10) << endl;
	return 0;
}